home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / Imlib2.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-01-09  |  22.5 KB  |  487 lines

  1. #ifndef __IMLIB_API_H
  2. # define __IMLIB_API_H 1
  3.  
  4. # ifndef X_DISPLAY_MISSING
  5. #  include <X11/Xlib.h>
  6. # endif
  7.  
  8. /* Data types to use */
  9. # ifndef DATA64
  10. #  define DATA64 unsigned long long
  11. #  define DATA32 unsigned int
  12. #  define DATA16 unsigned short
  13. #  define DATA8  unsigned char
  14. # endif
  15.  
  16. /* opaque data types */
  17. typedef void *Imlib_Context;
  18. typedef void *Imlib_Image;
  19. typedef void *Imlib_Color_Modifier;
  20. typedef void *Imlib_Updates;
  21. typedef void *Imlib_Font;
  22. typedef void *Imlib_Color_Range;
  23. typedef void *Imlib_Filter;
  24. typedef struct _imlib_border Imlib_Border;
  25. typedef struct _imlib_color Imlib_Color;
  26. typedef void *ImlibPolygon;
  27.  
  28. /* blending operations */
  29. enum _imlib_operation
  30. {
  31.    IMLIB_OP_COPY,
  32.    IMLIB_OP_ADD,
  33.    IMLIB_OP_SUBTRACT,
  34.    IMLIB_OP_RESHADE
  35. };
  36.  
  37. enum _imlib_text_direction
  38. {
  39.    IMLIB_TEXT_TO_RIGHT = 0,
  40.    IMLIB_TEXT_TO_LEFT = 1,
  41.    IMLIB_TEXT_TO_DOWN = 2,
  42.    IMLIB_TEXT_TO_UP = 3,
  43.    IMLIB_TEXT_TO_ANGLE = 4
  44. };
  45.  
  46. enum _imlib_load_error
  47. {
  48.    IMLIB_LOAD_ERROR_NONE,
  49.    IMLIB_LOAD_ERROR_FILE_DOES_NOT_EXIST,
  50.    IMLIB_LOAD_ERROR_FILE_IS_DIRECTORY,
  51.    IMLIB_LOAD_ERROR_PERMISSION_DENIED_TO_READ,
  52.    IMLIB_LOAD_ERROR_NO_LOADER_FOR_FILE_FORMAT,
  53.    IMLIB_LOAD_ERROR_PATH_TOO_LONG,
  54.    IMLIB_LOAD_ERROR_PATH_COMPONENT_NON_EXISTANT,
  55.    IMLIB_LOAD_ERROR_PATH_COMPONENT_NOT_DIRECTORY,
  56.    IMLIB_LOAD_ERROR_PATH_POINTS_OUTSIDE_ADDRESS_SPACE,
  57.    IMLIB_LOAD_ERROR_TOO_MANY_SYMBOLIC_LINKS,
  58.    IMLIB_LOAD_ERROR_OUT_OF_MEMORY,
  59.    IMLIB_LOAD_ERROR_OUT_OF_FILE_DESCRIPTORS,
  60.    IMLIB_LOAD_ERROR_PERMISSION_DENIED_TO_WRITE,
  61.    IMLIB_LOAD_ERROR_OUT_OF_DISK_SPACE,
  62.    IMLIB_LOAD_ERROR_UNKNOWN
  63. };
  64.  
  65. /* Encodings known to Imlib2 (so far) */
  66. enum _imlib_TTF_encoding
  67. {
  68.    IMLIB_TTF_ENCODING_ISO_8859_1,
  69.    IMLIB_TTF_ENCODING_ISO_8859_2,
  70.    IMLIB_TTF_ENCODING_ISO_8859_3,
  71.    IMLIB_TTF_ENCODING_ISO_8859_4,
  72.    IMLIB_TTF_ENCODING_ISO_8859_5
  73. };
  74.  
  75. typedef enum _imlib_operation Imlib_Operation;
  76. typedef enum _imlib_load_error Imlib_Load_Error;
  77. typedef enum _imlib_load_error ImlibLoadError;
  78. typedef enum _imlib_text_direction Imlib_Text_Direction;
  79. typedef enum _imlib_TTF_encoding Imlib_TTF_Encoding;
  80.  
  81. struct _imlib_border
  82. {
  83.    int left, right, top, bottom;
  84. };
  85.  
  86. struct _imlib_color
  87. {
  88.    int alpha, red, green, blue;
  89. };
  90.  
  91. /* Progressive loading callbacks */
  92. typedef int (*Imlib_Progress_Function) (Imlib_Image im, char percent,
  93.                                         int update_x, int update_y,
  94.                                         int update_w, int update_h);
  95. typedef void (*Imlib_Data_Destructor_Function) (Imlib_Image im, void *data);
  96.  
  97. # ifdef __cplusplus
  98. extern "C"
  99. {
  100. # endif
  101.  
  102. /* context handling */
  103.    Imlib_Context imlib_context_new(void);
  104.    void imlib_context_free(Imlib_Context context);
  105.  
  106.    void imlib_context_push(Imlib_Context context);
  107.    void imlib_context_pop(void);
  108.    Imlib_Context imlib_context_get(void);
  109.  
  110. /* context setting */
  111. # ifndef X_DISPLAY_MISSING
  112.    void imlib_context_set_display(Display * display);
  113.    void imlib_context_set_visual(Visual * visual);
  114.    void imlib_context_set_colormap(Colormap colormap);
  115.    void imlib_context_set_drawable(Drawable drawable);
  116.    void imlib_context_set_mask(Pixmap mask);
  117. # endif
  118.    void imlib_context_set_dither_mask(char dither_mask);
  119.    void imlib_context_set_anti_alias(char anti_alias);
  120.    void imlib_context_set_dither(char dither);
  121.    void imlib_context_set_blend(char blend);
  122.    void imlib_context_set_color_modifier(Imlib_Color_Modifier color_modifier);
  123.    void imlib_context_set_operation(Imlib_Operation operation);
  124.    void imlib_context_set_font(Imlib_Font font);
  125.    void imlib_context_set_direction(Imlib_Text_Direction direction);
  126.    void imlib_context_set_angle(double angle);
  127.    void imlib_context_set_color(int red, int green, int blue, int alpha);
  128.    void imlib_context_set_color_hsva(float hue, float saturation, float value, int alpha);
  129.    void imlib_context_set_color_hlsa(float hue, float lightness, float saturation, int alpha);
  130.    void imlib_context_set_color_cmya(int cyan, int magenta, int yellow, int alpha);
  131.    void imlib_context_set_color_range(Imlib_Color_Range color_range);
  132.    void imlib_context_set_progress_function(Imlib_Progress_Function
  133.                                             progress_function);
  134.    void imlib_context_set_progress_granularity(char progress_granularity);
  135.    void imlib_context_set_image(Imlib_Image image);
  136.    void imlib_context_set_cliprect(int x, int y, int w, int h);
  137.    void imlib_context_set_TTF_encoding(Imlib_TTF_Encoding encoding);
  138.  
  139. /* context getting */
  140. # ifndef X_DISPLAY_MISSING
  141.    Display *imlib_context_get_display(void);
  142.    Visual *imlib_context_get_visual(void);
  143.    Colormap imlib_context_get_colormap(void);
  144.    Drawable imlib_context_get_drawable(void);
  145.    Pixmap imlib_context_get_mask(void);
  146. # endif
  147.    char imlib_context_get_dither_mask(void);
  148.    char imlib_context_get_anti_alias(void);
  149.    char imlib_context_get_dither(void);
  150.    char imlib_context_get_blend(void);
  151.    Imlib_Color_Modifier imlib_context_get_color_modifier(void);
  152.    Imlib_Operation imlib_context_get_operation(void);
  153.    Imlib_Font imlib_context_get_font(void);
  154.    double imlib_context_get_angle(void);
  155.    Imlib_Text_Direction imlib_context_get_direction(void);
  156.    void imlib_context_get_color(int *red, int *green, int *blue, int *alpha);
  157.    void imlib_context_get_color_hsva(float *hue, float *saturation, float *value, int *alpha);
  158.    void imlib_context_get_color_hlsa(float *hue, float *lightness, float *saturation, int *alpha);
  159.    void imlib_context_get_color_cmya(int *cyan, int *magenta, int *yellow, int *alpha);
  160.    Imlib_Color *imlib_context_get_imlib_color(void);
  161.    Imlib_Color_Range imlib_context_get_color_range(void);
  162.    Imlib_Progress_Function imlib_context_get_progress_function(void);
  163.    char imlib_context_get_progress_granularity(void);
  164.    Imlib_Image imlib_context_get_image(void);
  165.    void imlib_context_get_cliprect(int *x, int *y, int *w, int *h);
  166.    Imlib_TTF_Encoding imlib_context_get_TTF_encoding(void);
  167.  
  168.    int imlib_get_cache_size(void);
  169.    void imlib_set_cache_size(int bytes);
  170.    int imlib_get_color_usage(void);
  171.    void imlib_set_color_usage(int max);
  172.    void imlib_flush_loaders(void);
  173. # ifndef X_DISPLAY_MISSING
  174.    int imlib_get_visual_depth(Display * display, Visual * visual);
  175.    Visual *imlib_get_best_visual(Display * display, int screen,
  176.                                  int *depth_return);
  177. # endif
  178.  
  179.    Imlib_Image imlib_load_image(const char *file);
  180.    Imlib_Image imlib_load_image_immediately(const char *file);
  181.    Imlib_Image imlib_load_image_without_cache(const char *file);
  182.    Imlib_Image imlib_load_image_immediately_without_cache(const char *file);
  183.    Imlib_Image imlib_load_image_with_error_return(const char *file,
  184.                                                   Imlib_Load_Error *
  185.                                                   error_return);
  186.    void imlib_free_image(void);
  187.    void imlib_free_image_and_decache(void);
  188.  
  189. /* query/modify image parameters */
  190.    int imlib_image_get_width(void);
  191.    int imlib_image_get_height(void);
  192.    const char *imlib_image_get_filename(void);
  193.    DATA32 *imlib_image_get_data(void);
  194.    DATA32 *imlib_image_get_data_for_reading_only(void);
  195.    void imlib_image_put_back_data(DATA32 * data);
  196.    char imlib_image_has_alpha(void);
  197.    void imlib_image_set_changes_on_disk(void);
  198.    void imlib_image_get_border(Imlib_Border * border);
  199.    void imlib_image_set_border(Imlib_Border * border);
  200.    void imlib_image_set_format(const char *format);
  201.    void imlib_image_set_irrelevant_format(char irrelevant);
  202.    void imlib_image_set_irrelevant_border(char irrelevant);
  203.    void imlib_image_set_irrelevant_alpha(char irrelevant);
  204.    char *imlib_image_format(void);
  205.    void imlib_image_set_has_alpha(char has_alpha);
  206.    void imlib_image_query_pixel(int x, int y, Imlib_Color * color_return);
  207.    void imlib_image_query_pixel_hsva(int x, int y, float *hue, float *saturation, float *value, int *alpha);
  208.    void imlib_image_query_pixel_hlsa(int x, int y, float *hue, float *lightness, float *saturation, int *alpha);
  209.    void imlib_image_query_pixel_cmya(int x, int y, int *cyan, int *magenta, int *yellow, int *alpha);
  210.  
  211. /* rendering functions */
  212. # ifndef X_DISPLAY_MISSING
  213.    void imlib_render_pixmaps_for_whole_image(Pixmap * pixmap_return,
  214.                                              Pixmap * mask_return);
  215.    void imlib_render_pixmaps_for_whole_image_at_size(Pixmap * pixmap_return,
  216.                                                      Pixmap * mask_return,
  217.                                                      int width, int height);
  218.    void imlib_free_pixmap_and_mask(Pixmap pixmap);
  219.    void imlib_render_image_on_drawable(int x, int y);
  220.    void imlib_render_image_on_drawable_at_size(int x, int y, int width,
  221.                                                int height);
  222.    void imlib_render_image_part_on_drawable_at_size(int source_x,
  223.                                                     int source_y,
  224.                                                     int source_width,
  225.                                                     int source_height, int x,
  226.                                                     int y, int width,
  227.                                                     int height);
  228.    DATA32 imlib_render_get_pixel_color(void);
  229. # endif
  230.    void imlib_blend_image_onto_image(Imlib_Image source_image,
  231.                                      char merge_alpha, int source_x,
  232.                                      int source_y, int source_width,
  233.                                      int source_height, int destination_x,
  234.                                      int destination_y, int destination_width,
  235.                                      int destination_height);
  236.  
  237. /* creation functions */
  238.    Imlib_Image imlib_create_image(int width, int height);
  239.    Imlib_Image imlib_create_image_using_data(int width, int height,
  240.                                              DATA32 * data);
  241.    Imlib_Image imlib_create_image_using_copied_data(int width, int height,
  242.                                                     DATA32 * data);
  243. # ifndef X_DISPLAY_MISSING
  244.    Imlib_Image imlib_create_image_from_drawable(Pixmap mask, int x, int y,
  245.                                                 int width, int height,
  246.                                                 char need_to_grab_x);
  247.    Imlib_Image imlib_create_image_from_ximage(XImage *image, XImage *mask, int x, int y,
  248.                                                 int width, int height,
  249.                                                 char need_to_grab_x);
  250.    Imlib_Image imlib_create_scaled_image_from_drawable(Pixmap mask,
  251.                                                        int source_x,
  252.                                                        int source_y,
  253.                                                        int source_width,
  254.                                                        int source_height,
  255.                                                        int destination_width,
  256.                                                        int destination_height,
  257.                                                        char need_to_grab_x,
  258.                                                        char
  259.                                                        get_mask_from_shape);
  260.    char imlib_copy_drawable_to_image(Pixmap mask, int x, int y, int width,
  261.                                      int height, int destination_x,
  262.                                      int destination_y, char need_to_grab_x);
  263. # endif
  264.    Imlib_Image imlib_clone_image(void);
  265.    Imlib_Image imlib_create_cropped_image(int x, int y, int width,
  266.                                           int height);
  267.    Imlib_Image imlib_create_cropped_scaled_image(int source_x, int source_y,
  268.                                                  int source_width,
  269.                                                  int source_height,
  270.                                                  int destination_width,
  271.                                                  int destination_height);
  272.  
  273. /* imlib updates. lists of rectangles for storing required update draws */
  274.    Imlib_Updates imlib_updates_clone(Imlib_Updates updates);
  275.    Imlib_Updates imlib_update_append_rect(Imlib_Updates updates, int x, int y,
  276.                                           int w, int h);
  277.    Imlib_Updates imlib_updates_merge(Imlib_Updates updates, int w, int h);
  278.    Imlib_Updates imlib_updates_merge_for_rendering(Imlib_Updates updates,
  279.                                                    int w, int h);
  280.    void imlib_updates_free(Imlib_Updates updates);
  281.    Imlib_Updates imlib_updates_get_next(Imlib_Updates updates);
  282.    void imlib_updates_get_coordinates(Imlib_Updates updates, int *x_return,
  283.                                       int *y_return, int *width_return,
  284.                                       int *height_return);
  285.    void imlib_updates_set_coordinates(Imlib_Updates updates, int x, int y,
  286.                                       int width, int height);
  287.    void imlib_render_image_updates_on_drawable(Imlib_Updates updates, int x,
  288.                                                int y);
  289.    Imlib_Updates imlib_updates_init(void);
  290.    Imlib_Updates imlib_updates_append_updates(Imlib_Updates updates,
  291.                                               Imlib_Updates appended_updates);
  292.  
  293. /* image modification */
  294.    void imlib_image_flip_horizontal(void);
  295.    void imlib_image_flip_vertical(void);
  296.    void imlib_image_flip_diagonal(void);
  297.    void imlib_image_orientate(int orientation);
  298.    void imlib_image_blur(int radius);
  299.    void imlib_image_sharpen(int radius);
  300.    void imlib_image_tile_horizontal(void);
  301.    void imlib_image_tile_vertical(void);
  302.    void imlib_image_tile(void);
  303.  
  304. /* fonts and text */
  305.    Imlib_Font imlib_load_font(const char *font_name);
  306.    void imlib_free_font(void);
  307.    void imlib_text_draw(int x, int y, const char *text);
  308.    void imlib_text_draw_with_return_metrics(int x, int y, const char *text,
  309.                                             int *width_return,
  310.                                             int *height_return,
  311.                                             int *horizontal_advance_return,
  312.                                             int *vertical_advance_return);
  313.    void imlib_get_text_size(const char *text, int *width_return,
  314.                             int *height_return);
  315.    void imlib_get_text_advance(const char *text, 
  316.                    int *horizontal_advance_return,
  317.                    int *vertical_advance_return);
  318.    int imlib_get_text_inset(const char *text);
  319.    void imlib_add_path_to_font_path(const char *path);
  320.    void imlib_remove_path_from_font_path(const char *path);
  321.    char **imlib_list_font_path(int *number_return);
  322.    int imlib_text_get_index_and_location(const char *text, int x, int y,
  323.                                          int *char_x_return,
  324.                                          int *char_y_return,
  325.                                          int *char_width_return,
  326.                                          int *char_height_return);
  327.    void imlib_text_get_location_at_index(const char *text, int index,
  328.                                          int *char_x_return,
  329.                                          int *char_y_return,
  330.                                          int *char_width_return,
  331.                                          int *char_height_return);
  332.    char **imlib_list_fonts(int *number_return);
  333.    void imlib_free_font_list(char **font_list, int number);
  334.    int imlib_get_font_cache_size(void);
  335.    void imlib_set_font_cache_size(int bytes);
  336.    void imlib_flush_font_cache(void);
  337.    int imlib_get_font_ascent(void);
  338.    int imlib_get_font_descent(void);
  339.    int imlib_get_maximum_font_ascent(void);
  340.    int imlib_get_maximum_font_descent(void);
  341.  
  342. /* color modifiers */
  343.    Imlib_Color_Modifier imlib_create_color_modifier(void);
  344.    void imlib_free_color_modifier(void);
  345.    void imlib_modify_color_modifier_gamma(double gamma_value);
  346.    void imlib_modify_color_modifier_brightness(double brightness_value);
  347.    void imlib_modify_color_modifier_contrast(double contrast_value);
  348.    void imlib_set_color_modifier_tables(DATA8 * red_table,
  349.                                         DATA8 * green_table,
  350.                                         DATA8 * blue_table,
  351.                                         DATA8 * alpha_table);
  352.    void imlib_get_color_modifier_tables(DATA8 * red_table,
  353.                                         DATA8 * green_table,
  354.                                         DATA8 * blue_table,
  355.                                         DATA8 * alpha_table);
  356.    void imlib_reset_color_modifier(void);
  357.    void imlib_apply_color_modifier(void);
  358.    void imlib_apply_color_modifier_to_rectangle(int x, int y, int width,
  359.                                                 int height);
  360.  
  361. /* drawing on images */
  362.    Imlib_Updates imlib_image_draw_pixel(int x, int y, char make_updates);
  363.    Imlib_Updates imlib_image_draw_line(int x1, int y1, int x2, int y2,
  364.                                        char make_updates);
  365.    int imlib_clip_line(int x0, int y0, int x1, int y1, int xmin, int xmax,
  366.                        int ymin, int ymax, int *clip_x0, int *clip_y0,
  367.                        int *clip_x1, int *clip_y1);
  368.    void imlib_image_draw_rectangle(int x, int y, int width, int height);
  369.    void imlib_image_fill_rectangle(int x, int y, int width, int height);
  370.    void imlib_image_copy_alpha_to_image(Imlib_Image image_source, int x,
  371.                                         int y);
  372.    void imlib_image_copy_alpha_rectangle_to_image(Imlib_Image image_source,
  373.                                                   int x, int y, int width,
  374.                                                   int height,
  375.                                                   int destination_x,
  376.                                                   int destination_y);
  377.    void imlib_image_scroll_rect(int x, int y, int width, int height,
  378.                                 int delta_x, int delta_y);
  379.    void imlib_image_copy_rect(int x, int y, int width, int height, int new_x,
  380.                               int new_y);
  381.  
  382. /* polygons */
  383.    ImlibPolygon imlib_polygon_new(void);
  384.    void imlib_polygon_free(ImlibPolygon poly);
  385.    void imlib_polygon_add_point(ImlibPolygon poly, int x, int y);
  386.    void imlib_image_draw_polygon(ImlibPolygon poly, unsigned char closed);
  387.    void imlib_image_fill_polygon(ImlibPolygon poly);
  388.    void imlib_polygon_get_bounds(ImlibPolygon poly, int *px1, int *py1,
  389.                                  int *px2, int *py2);
  390.    unsigned char imlib_polygon_contains_point(ImlibPolygon poly, int x,
  391.                                               int y);
  392.  
  393. /* ellipses */
  394.    void imlib_image_draw_ellipse(int xc, int yc, int a, int b);
  395.    void imlib_image_fill_ellipse(int xc, int yc, int a, int b);
  396.  
  397. /* color ranges */
  398.    Imlib_Color_Range imlib_create_color_range(void);
  399.    void imlib_free_color_range(void);
  400.    void imlib_add_color_to_color_range(int distance_away);
  401.    void imlib_image_fill_color_range_rectangle(int x, int y, int width,
  402.                                                int height, double angle);
  403.    void imlib_image_fill_hsva_color_range_rectangle(int x, int y, int width,
  404.                                                     int height, double angle);
  405.  
  406. /* image data */
  407.    void imlib_image_attach_data_value(const char *key, void *data, int value,
  408.                                       Imlib_Data_Destructor_Function
  409.                                       destructor_function);
  410.    void *imlib_image_get_attached_data(const char *key);
  411.    int imlib_image_get_attached_value(const char *key);
  412.    void imlib_image_remove_attached_data_value(const char *key);
  413.    void imlib_image_remove_and_free_attached_data_value(const char *key);
  414.  
  415. /* saving */
  416.    void imlib_save_image(const char *filename);
  417.    void imlib_save_image_with_error_return(const char *filename,
  418.                                            Imlib_Load_Error * error_return);
  419.  
  420. /* FIXME: */
  421. /* need to add arbitary rotation routines */
  422.  
  423. /* rotation/skewing */
  424.    Imlib_Image imlib_create_rotated_image(double angle);
  425.  
  426. /* rotation from buffer to context (without copying)*/
  427.    void imlib_rotate_image_from_buffer(double angle, 
  428.                        Imlib_Image source_image);
  429.  
  430.    void imlib_blend_image_onto_image_at_angle(Imlib_Image source_image,
  431.                                               char merge_alpha, int source_x,
  432.                                               int source_y, int source_width,
  433.                                               int source_height,
  434.                                               int destination_x,
  435.                                               int destination_y, int angle_x,
  436.                                               int angle_y);
  437.    void imlib_blend_image_onto_image_skewed(Imlib_Image source_image,
  438.                                             char merge_alpha, int source_x,
  439.                                             int source_y, int source_width,
  440.                                             int source_height,
  441.                                             int destination_x,
  442.                                             int destination_y, int h_angle_x,
  443.                                             int h_angle_y, int v_angle_x,
  444.                                             int v_angle_y);
  445. # ifndef X_DISPLAY_MISSING
  446.    void imlib_render_image_on_drawable_skewed(int source_x, int source_y,
  447.                                               int source_width,
  448.                                               int source_height,
  449.                                               int destination_x,
  450.                                               int destination_y,
  451.                                               int h_angle_x, int h_angle_y,
  452.                                               int v_angle_x, int v_angle_y);
  453.    void imlib_render_image_on_drawable_at_angle(int source_x, int source_y,
  454.                                                 int source_width,
  455.                                                 int source_height,
  456.                                                 int destination_x,
  457.                                                 int destination_y,
  458.                                                 int angle_x, int angle_y);
  459. # endif
  460.  
  461. /* image filters */
  462.    void imlib_image_filter(void);
  463.    Imlib_Filter imlib_create_filter(int initsize);
  464.    void imlib_context_set_filter(Imlib_Filter filter);
  465.    Imlib_Filter imlib_context_get_filter(void);
  466.    void imlib_free_filter(void);
  467.    void imlib_filter_set(int xoff, int yoff, int a, int r, int g, int b);
  468.    void imlib_filter_set_alpha(int xoff, int yoff, int a, int r, int g,
  469.                                int b);
  470.    void imlib_filter_set_red(int xoff, int yoff, int a, int r, int g, int b);
  471.    void imlib_filter_set_green(int xoff, int yoff, int a, int r, int g,
  472.                                int b);
  473.    void imlib_filter_set_blue(int xoff, int yoff, int a, int r, int g, int b);
  474.    void imlib_filter_constants(int a, int r, int g, int b);
  475.    void imlib_filter_divisors(int a, int r, int g, int b);
  476.  
  477.    void imlib_apply_filter(char *script, ...);
  478.  
  479.    void imlib_image_clear(void);
  480.    void imlib_image_clear_color(int r, int g, int b, int a);
  481.  
  482. # ifdef __cplusplus
  483. }
  484. # endif
  485.  
  486. #endif
  487.